Fast Symbolic Evaluation of C/C++ Preprocessing Using Conditional Value

نویسنده

  • Mario Latendresse
چکیده

C/C++ code relying on preprocessing can be quite complex to analyze. This is often due to free preprocessing variables set at compile time. In general, preprocessing selectively compile parts of the source code based on the values of preprocessing variables which may be free. In this case, the relations between these parts can only be represented by conditional expressions using the free variables. Traditional symbolic evaluation can be used to infer these expressions, but its best case time complexity is exponential. We present a new approach for symbolic evaluation that can efficiently compute these conditions by binding variables to conditional values and avoiding the path feasibility analysis of traditional symbolic evaluation. It infers the exact conditional expressions for which the lines of code are compiled and the (conditional) values of preprocessing variables at each point of the source code. Our prototype shows the approach as practical and scaleable to large C/C++ software.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluation of the Regularization Algorithm to Decorrelation of Covariance Matrix of Float Ambiguity in Fast Resolution of GPS Ambiguity Parameters

Precise positioning in Real Time Kinematic (RTK) applications depends on the accurate resolution of the phase ambiguities. In RTK positioning, ambiguity parameters are highly correlated, especially when the positioning rate is high. Consequently, application of de-correlation techniques for the accurate resolution of ambiguities is inevitable. Phase ambiguity as positioning observations by the ...

متن کامل

Sound Symbolic Linking in the Presence of Preprocessing

Formal verification enables developers to provide safety and security guarantees about their code. A modular verification approach supports the verification of different pieces of an application in separation. We propose symbolic linking as such a modular approach, since it allows to decide whether or not earlier verified source files can be safely linked together (i.e. earlier proven propertie...

متن کامل

Determination of Peeling Efficiency, Free Fatty Acid, Peroxide Value and Sensory Evaluation of Peeled Pistachio Kernel using Hot Water

Pistachio green kernel, is obtained by removing the red testa of around the whole kernel. In this study, the suitable peeling conditions for removing the testa of the kernel were determined using hot water in five termperature levels of 75, 80, 85, 90, and 95°C and diffetent hot water immersion times of 2, 4, 6, 8, and 10 minutes in riped and unripe samples. Quality factors including the number...

متن کامل

A Critical Examination of Ibn-Sina’s Theory of the Conditional Syllogism

This paper will examine Ibn Sina’s theory of the Conditional Syllogism from a purely logical point of view, and will lay bare the principles he adopted for founding his theory, and the reason why the newly introduced part of his logic remained undeveloped and eventually was removed from the texts of logic in the later Islamic tradition. As a preliminary discussion, this paper briefly examines I...

متن کامل

On implementing the symbolic preprocessing function over Boolean polynomial rings in Gröbner basis algorithms using linear algebra

Linear algebra is introduced by Faugère in F4 to speed up the reduction procedure during Gröbner basis computations. Linear algebra has also been used in fast implementations of F5 and other signature-based Gröbner basis algorithms. To use linear algebra for reductions, an important step is constructing matrices from critical pairs and existing polynomials by the Symbolic Preprocessing function...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003